package com.lecture.util;

import java.security.MessageDigest;
import java.math.BigInteger;

public class VodSysSecurity {
  public VodSysSecurity() {
  }

  public static String MD5(String sInput) throws Exception{
       String algorithm="";
       //���벻��Ϊ��
       if(sInput.trim()==null){
          return "null";
       }
       //ָ������MD5�㷨
       try{
          algorithm=System.getProperty("MD5.algorithm","MD5");
       }catch(SecurityException se){}
       //����MessageDigest����
       MessageDigest md=MessageDigest.getInstance(algorithm);
       //����ϵͳȱʡ���ַ���뷽ʽ��sInput ת�����ֽڣ����ѽ��浽һ�µ��ֽ�����buffer��
       byte buffer[]=sInput.getBytes();
       //��ָ�����ֽ�����buffer��ƫ��0��ʼ����ָ�����ֽ������޸���sInput���ժҪ
       //countΪ�� 0 ��ʼ�õ��ֽ���ȡ�
       for(int count=0;count<sInput.length();count++)
       {
          md.update(buffer,0,count);
       }
       //ͨ��ִ�������������Ĳ������ɢ����ļ��㡣 �ڵ���֮��λ��ժҪ
       //���ش�Ž��ɢ��ֵ���ֽ�����bDigest
       byte bDigest[]=md.digest();
       //��bDigestת��Ϊ������bi
       BigInteger bi=new BigInteger(bDigest);
       //����bi�ַ��ʾ�������յı�����
       return(bi.toString(16));
     }

/*     public static void main(String [] a)
     {
        try
        {
            System.out.println(VodSysSecurity.MD5("abc"));
            //-19da6a11674a7aeac2537831e54963c4   //abc
        }catch (Exception e){}
     }  */
}
